#ifndef SERVO_H
#define SERVO_H

#include "ti_msp_dl_config.h"

void servo_init();
void servo_set_angle(uint8_t angle);

typedef enum
{
    BUS_SERVO_MODE_CLOCKWISE_270 = 1,
    BUS_SERVO_MODE_ANTI_CLOCKWISE_270,
    BUS_SERVO_MODE_CLOCKWISE_180,
    BUS_SERVO_MODE_ANTI_CLOCKWISE_180,
    BUS_SERVO_MODE_FIXED_CIRCLE_CLOCKWISE,
    BUS_SERVO_MODE_FIXED_CIRCLE_ANTI_CLOCKWISE,
    BUS_SERVO_MODE_FIXED_TIME_CLOCKWISE,
    BUS_SERVO_MODE_FIXED_TIME_ANTI_CLOCKWISE
} bus_servo_mode_t;

void bus_servo_set_pwm(uint8_t servo_idx, uint16_t angle, uint16_t time);
void bus_servo_change_ID(uint8_t O_servo_idx, uint8_t N_servo_idx);
void bus_servo_set_mode(uint8_t servo_idx, bus_servo_mode_t servo);
void bus_servo_set_id(uint8_t servo_idx_target);
#endif